/*
* Copyright (c) 2007 by Kirill Kolodyazhniy.
* See the file "license.terms" for information on usage and redistribution.
*/

#ifndef M_RENDERWINDOWINFO_H
#define M_RENDERWINDOWINFO_H

#include "types.h"

namespace Engine
{
	/**
	*   Abstract class for manipulating OS window specific data.
	*/
	class RenderWindowInfoVisitor
	{
	public:
		virtual ~RenderWindowInfoVisitor(){}
		virtual void Visit(DXRenderWindowInfo* info) = 0;
	};

	/**
	*   Abstract class for manipulating OS window specific data.
	*/
	class RenderWindowInfo
	{
	public:
		virtual ~RenderWindowInfo(){}
		virtual void Accept(RenderWindowInfoVisitor& visitor) = 0;
	};
}

#endif
